﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YasharEl.Infrastructure.Core.Applications;
using YasharEl.Infrastructure.EntityModel;

namespace YasharEl.Infrastructure.ProcessEngine
{
    public interface IProcessDefinitionGroup : IReadOnlyEntity<long>
    {
        long ProcessDefinitionGroupId { get; }

        string GroupName { get; }
        string GroupDescription { get; }

        IProcessDefinitionGroup ParentGroup { get; }

        IList<IProcessDefinitionGroup> ChildGroups { get; }

        IList<IProcessDefinition> GroupedDefinitions { get; }

        IApplication BelongsToApplication { get; }
    }
}
